package com.lwlk.zdk.model.pw;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class pwAlarmRulesExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public pwAlarmRulesExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIsNull() {
            addCriterion("rule_type is null");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIsNotNull() {
            addCriterion("rule_type is not null");
            return (Criteria) this;
        }

        public Criteria andRuleTypeEqualTo(Integer value) {
            addCriterion("rule_type =", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotEqualTo(Integer value) {
            addCriterion("rule_type <>", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeGreaterThan(Integer value) {
            addCriterion("rule_type >", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("rule_type >=", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeLessThan(Integer value) {
            addCriterion("rule_type <", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeLessThanOrEqualTo(Integer value) {
            addCriterion("rule_type <=", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIn(List<Integer> values) {
            addCriterion("rule_type in", values, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotIn(List<Integer> values) {
            addCriterion("rule_type not in", values, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeBetween(Integer value1, Integer value2) {
            addCriterion("rule_type between", value1, value2, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("rule_type not between", value1, value2, "ruleType");
            return (Criteria) this;
        }

        public Criteria andIndustryIdIsNull() {
            addCriterion("industry_id is null");
            return (Criteria) this;
        }

        public Criteria andIndustryIdIsNotNull() {
            addCriterion("industry_id is not null");
            return (Criteria) this;
        }

        public Criteria andIndustryIdEqualTo(Integer value) {
            addCriterion("industry_id =", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdNotEqualTo(Integer value) {
            addCriterion("industry_id <>", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdGreaterThan(Integer value) {
            addCriterion("industry_id >", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("industry_id >=", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdLessThan(Integer value) {
            addCriterion("industry_id <", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdLessThanOrEqualTo(Integer value) {
            addCriterion("industry_id <=", value, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdIn(List<Integer> values) {
            addCriterion("industry_id in", values, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdNotIn(List<Integer> values) {
            addCriterion("industry_id not in", values, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdBetween(Integer value1, Integer value2) {
            addCriterion("industry_id between", value1, value2, "industryId");
            return (Criteria) this;
        }

        public Criteria andIndustryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("industry_id not between", value1, value2, "industryId");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitIsNull() {
            addCriterion("speed_limit is null");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitIsNotNull() {
            addCriterion("speed_limit is not null");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitEqualTo(Double value) {
            addCriterion("speed_limit =", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitNotEqualTo(Double value) {
            addCriterion("speed_limit <>", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitGreaterThan(Double value) {
            addCriterion("speed_limit >", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitGreaterThanOrEqualTo(Double value) {
            addCriterion("speed_limit >=", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitLessThan(Double value) {
            addCriterion("speed_limit <", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitLessThanOrEqualTo(Double value) {
            addCriterion("speed_limit <=", value, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitIn(List<Double> values) {
            addCriterion("speed_limit in", values, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitNotIn(List<Double> values) {
            addCriterion("speed_limit not in", values, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitBetween(Double value1, Double value2) {
            addCriterion("speed_limit between", value1, value2, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andSpeedLimitNotBetween(Double value1, Double value2) {
            addCriterion("speed_limit not between", value1, value2, "speedLimit");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeIsNull() {
            addCriterion("cotinue_time is null");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeIsNotNull() {
            addCriterion("cotinue_time is not null");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeEqualTo(Date value) {
            addCriterionForJDBCDate("cotinue_time =", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("cotinue_time <>", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("cotinue_time >", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("cotinue_time >=", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeLessThan(Date value) {
            addCriterionForJDBCDate("cotinue_time <", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("cotinue_time <=", value, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeIn(List<Date> values) {
            addCriterionForJDBCDate("cotinue_time in", values, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("cotinue_time not in", values, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("cotinue_time between", value1, value2, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCotinueTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("cotinue_time not between", value1, value2, "cotinueTime");
            return (Criteria) this;
        }

        public Criteria andCountIsNull() {
            addCriterion("count is null");
            return (Criteria) this;
        }

        public Criteria andCountIsNotNull() {
            addCriterion("count is not null");
            return (Criteria) this;
        }

        public Criteria andCountEqualTo(Integer value) {
            addCriterion("count =", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountNotEqualTo(Integer value) {
            addCriterion("count <>", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountGreaterThan(Integer value) {
            addCriterion("count >", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("count >=", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountLessThan(Integer value) {
            addCriterion("count <", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountLessThanOrEqualTo(Integer value) {
            addCriterion("count <=", value, "count");
            return (Criteria) this;
        }

        public Criteria andCountIn(List<Integer> values) {
            addCriterion("count in", values, "count");
            return (Criteria) this;
        }

        public Criteria andCountNotIn(List<Integer> values) {
            addCriterion("count not in", values, "count");
            return (Criteria) this;
        }

        public Criteria andCountBetween(Integer value1, Integer value2) {
            addCriterion("count between", value1, value2, "count");
            return (Criteria) this;
        }

        public Criteria andCountNotBetween(Integer value1, Integer value2) {
            addCriterion("count not between", value1, value2, "count");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterionForJDBCDate("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterionForJDBCDate("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterionForJDBCDate("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterionForJDBCDate("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterionForJDBCDate("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterionForJDBCDate("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoIsNull() {
            addCriterion("down_alarm_info is null");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoIsNotNull() {
            addCriterion("down_alarm_info is not null");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoEqualTo(Integer value) {
            addCriterion("down_alarm_info =", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoNotEqualTo(Integer value) {
            addCriterion("down_alarm_info <>", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoGreaterThan(Integer value) {
            addCriterion("down_alarm_info >", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoGreaterThanOrEqualTo(Integer value) {
            addCriterion("down_alarm_info >=", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoLessThan(Integer value) {
            addCriterion("down_alarm_info <", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoLessThanOrEqualTo(Integer value) {
            addCriterion("down_alarm_info <=", value, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoIn(List<Integer> values) {
            addCriterion("down_alarm_info in", values, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoNotIn(List<Integer> values) {
            addCriterion("down_alarm_info not in", values, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoBetween(Integer value1, Integer value2) {
            addCriterion("down_alarm_info between", value1, value2, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andDownAlarmInfoNotBetween(Integer value1, Integer value2) {
            addCriterion("down_alarm_info not between", value1, value2, "downAlarmInfo");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceIsNull() {
            addCriterion("alarm_content_choice is null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceIsNotNull() {
            addCriterion("alarm_content_choice is not null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceEqualTo(String value) {
            addCriterion("alarm_content_choice =", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceNotEqualTo(String value) {
            addCriterion("alarm_content_choice <>", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceGreaterThan(String value) {
            addCriterion("alarm_content_choice >", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceGreaterThanOrEqualTo(String value) {
            addCriterion("alarm_content_choice >=", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceLessThan(String value) {
            addCriterion("alarm_content_choice <", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceLessThanOrEqualTo(String value) {
            addCriterion("alarm_content_choice <=", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceLike(String value) {
            addCriterion("alarm_content_choice like", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceNotLike(String value) {
            addCriterion("alarm_content_choice not like", value, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceIn(List<String> values) {
            addCriterion("alarm_content_choice in", values, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceNotIn(List<String> values) {
            addCriterion("alarm_content_choice not in", values, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceBetween(String value1, String value2) {
            addCriterion("alarm_content_choice between", value1, value2, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentChoiceNotBetween(String value1, String value2) {
            addCriterion("alarm_content_choice not between", value1, value2, "alarmContentChoice");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkIsNull() {
            addCriterion("alarm_content_remark is null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkIsNotNull() {
            addCriterion("alarm_content_remark is not null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkEqualTo(String value) {
            addCriterion("alarm_content_remark =", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkNotEqualTo(String value) {
            addCriterion("alarm_content_remark <>", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkGreaterThan(String value) {
            addCriterion("alarm_content_remark >", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("alarm_content_remark >=", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkLessThan(String value) {
            addCriterion("alarm_content_remark <", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkLessThanOrEqualTo(String value) {
            addCriterion("alarm_content_remark <=", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkLike(String value) {
            addCriterion("alarm_content_remark like", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkNotLike(String value) {
            addCriterion("alarm_content_remark not like", value, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkIn(List<String> values) {
            addCriterion("alarm_content_remark in", values, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkNotIn(List<String> values) {
            addCriterion("alarm_content_remark not in", values, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkBetween(String value1, String value2) {
            addCriterion("alarm_content_remark between", value1, value2, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentRemarkNotBetween(String value1, String value2) {
            addCriterion("alarm_content_remark not between", value1, value2, "alarmContentRemark");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewIsNull() {
            addCriterion("alarm_content_preview is null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewIsNotNull() {
            addCriterion("alarm_content_preview is not null");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewEqualTo(String value) {
            addCriterion("alarm_content_preview =", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewNotEqualTo(String value) {
            addCriterion("alarm_content_preview <>", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewGreaterThan(String value) {
            addCriterion("alarm_content_preview >", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewGreaterThanOrEqualTo(String value) {
            addCriterion("alarm_content_preview >=", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewLessThan(String value) {
            addCriterion("alarm_content_preview <", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewLessThanOrEqualTo(String value) {
            addCriterion("alarm_content_preview <=", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewLike(String value) {
            addCriterion("alarm_content_preview like", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewNotLike(String value) {
            addCriterion("alarm_content_preview not like", value, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewIn(List<String> values) {
            addCriterion("alarm_content_preview in", values, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewNotIn(List<String> values) {
            addCriterion("alarm_content_preview not in", values, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewBetween(String value1, String value2) {
            addCriterion("alarm_content_preview between", value1, value2, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andAlarmContentPreviewNotBetween(String value1, String value2) {
            addCriterion("alarm_content_preview not between", value1, value2, "alarmContentPreview");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeIsNull() {
            addCriterion("stop_continue_time is null");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeIsNotNull() {
            addCriterion("stop_continue_time is not null");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeEqualTo(Date value) {
            addCriterionForJDBCDate("stop_continue_time =", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("stop_continue_time <>", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("stop_continue_time >", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stop_continue_time >=", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeLessThan(Date value) {
            addCriterionForJDBCDate("stop_continue_time <", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stop_continue_time <=", value, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeIn(List<Date> values) {
            addCriterionForJDBCDate("stop_continue_time in", values, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("stop_continue_time not in", values, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stop_continue_time between", value1, value2, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andStopContinueTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stop_continue_time not between", value1, value2, "stopContinueTime");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayIsNull() {
            addCriterion("once_per_vechile_perday is null");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayIsNotNull() {
            addCriterion("once_per_vechile_perday is not null");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayEqualTo(Integer value) {
            addCriterion("once_per_vechile_perday =", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayNotEqualTo(Integer value) {
            addCriterion("once_per_vechile_perday <>", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayGreaterThan(Integer value) {
            addCriterion("once_per_vechile_perday >", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("once_per_vechile_perday >=", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayLessThan(Integer value) {
            addCriterion("once_per_vechile_perday <", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayLessThanOrEqualTo(Integer value) {
            addCriterion("once_per_vechile_perday <=", value, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayIn(List<Integer> values) {
            addCriterion("once_per_vechile_perday in", values, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayNotIn(List<Integer> values) {
            addCriterion("once_per_vechile_perday not in", values, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayBetween(Integer value1, Integer value2) {
            addCriterion("once_per_vechile_perday between", value1, value2, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andOncePerVechilePerdayNotBetween(Integer value1, Integer value2) {
            addCriterion("once_per_vechile_perday not between", value1, value2, "oncePerVechilePerday");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertIsNull() {
            addCriterion("voice_alert is null");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertIsNotNull() {
            addCriterion("voice_alert is not null");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertEqualTo(Integer value) {
            addCriterion("voice_alert =", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertNotEqualTo(Integer value) {
            addCriterion("voice_alert <>", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertGreaterThan(Integer value) {
            addCriterion("voice_alert >", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertGreaterThanOrEqualTo(Integer value) {
            addCriterion("voice_alert >=", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertLessThan(Integer value) {
            addCriterion("voice_alert <", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertLessThanOrEqualTo(Integer value) {
            addCriterion("voice_alert <=", value, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertIn(List<Integer> values) {
            addCriterion("voice_alert in", values, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertNotIn(List<Integer> values) {
            addCriterion("voice_alert not in", values, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertBetween(Integer value1, Integer value2) {
            addCriterion("voice_alert between", value1, value2, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andVoiceAlertNotBetween(Integer value1, Integer value2) {
            addCriterion("voice_alert not between", value1, value2, "voiceAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertIsNull() {
            addCriterion("flash_alert is null");
            return (Criteria) this;
        }

        public Criteria andFlashAlertIsNotNull() {
            addCriterion("flash_alert is not null");
            return (Criteria) this;
        }

        public Criteria andFlashAlertEqualTo(Integer value) {
            addCriterion("flash_alert =", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertNotEqualTo(Integer value) {
            addCriterion("flash_alert <>", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertGreaterThan(Integer value) {
            addCriterion("flash_alert >", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertGreaterThanOrEqualTo(Integer value) {
            addCriterion("flash_alert >=", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertLessThan(Integer value) {
            addCriterion("flash_alert <", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertLessThanOrEqualTo(Integer value) {
            addCriterion("flash_alert <=", value, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertIn(List<Integer> values) {
            addCriterion("flash_alert in", values, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertNotIn(List<Integer> values) {
            addCriterion("flash_alert not in", values, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertBetween(Integer value1, Integer value2) {
            addCriterion("flash_alert between", value1, value2, "flashAlert");
            return (Criteria) this;
        }

        public Criteria andFlashAlertNotBetween(Integer value1, Integer value2) {
            addCriterion("flash_alert not between", value1, value2, "flashAlert");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}